package com.itheima.reggie.aop;


//@Slf4j
//@Aspect
//@Component
public class CommonColumnAdvice {
//    //对哪些类或方法进行增强 切点表达式
//    @Pointcut(
//            "execution(* com.itheima.reggie.service.impl.*ServiceImpl.save*(..))" +
//                    "||" +
//                    "execution(* com.itheima.reggie.service.impl.*ServiceImpl.update*(..))")
//    public void pt() {
//    }
//
//    //增强的功能,对四个字段的值进行自动填充!!
//    @Around("pt()")
//    public Object modifyColumn(ProceedingJoinPoint pjp) throws Throwable {
//        log.info("aop执行了");
//        Object proceed = null;
//        try {
//            //拿到了Employee 参数对象
//            Object[] args = pjp.getArgs();
//            CommonEntity obj = (CommonEntity) args[0];//Employee Category
//            String methodName = pjp.getSignature().getName();
//            Long id = UserHolder.get();
//            if (methodName.startsWith("save")) {//新增
//                obj.setCreateTime(LocalDateTime.now());
//                obj.setCreateUser(id);
//            }
//            obj.setUpdateTime(LocalDateTime.now());
//            obj.setUpdateUser(id);
//
//            proceed = pjp.proceed(args);
//
//        } catch (Throwable throwable) {
//            throwable.printStackTrace();
//        }
//        return proceed;
//    }

}



